Machine learning is the ability of a machine to improve its performance based on experience, rather than explicit programming. In general, for machine learning, the limiting factor is providing data to the machine. In many cases, systems are trained by individuals. For example, researchers train a system by adding data to the system. However, this is extremely time consuming, and requires a researcher.
Traditional open source and e-community based systems attempt to use the large number of programmers that willingly contribute to open source projects, such as Linux. These open source projects are generally designed to create software for which source code is freely available. However, because open source is a method of creating software, most of the persons who are now connected to the Internet do not participate in the open source community. Most individuals can not contribute, since contribution requires technical knowledge and a significant time contribution to generate a software product. Open source software is similar to a quilt, with each individual providing a square, which then together forms a single quilt. However, open source ignores a majority of the on-line community, and has not been logically extended beyond software.